package com.kaifamiao.reflect;

import java.lang.reflect.Modifier;
import java.util.Arrays;

public class ClassInfoTest {

    public static void main(String[] args) throws ClassNotFoundException {

        Class<?> c = Class.forName( "java.util.HashMap$Node" );

        String className = c.getName();
        System.out.println( className );

        String simple = c.getSimpleName();
        System.out.println( simple );

        // 规范化类名
        String canonical = c.getCanonicalName();
        System.out.println( canonical );

        // 获得父类
        Class<?> p = c.getSuperclass();
        System.out.println( p.getName() );

        // 获得c类直接实现的接口
        Class<?>[] interfaces = c.getInterfaces();
        System.out.println( Arrays.toString( interfaces ) );

        // 返回以 int 形式表示的修饰符
        int mod = c.getModifiers();
        System.out.println( mod );

        // 将 int 形式表示的修饰符 解析为 字符串形式
        String modifiers = Modifier.toString(mod);
        System.out.println( modifiers );

    }

}
